package com.ruoyi.cderp.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 采购退单明细对象 tbl_purchase_return_detail
 * 
 * @author ruoyi
 * @date 2025-03-06
 */
public class TblPurchaseReturnDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private String id;

    /** 退货单ID */
    @Excel(name = "退货单ID")
    private String returnId;

    /** 商品ID */
    @Excel(name = "商品ID")
    private String productId;

    /** 退货数量 */
    @Excel(name = "退货数量")
    private Long returnNum;

    /** 采购价 */
    @Excel(name = "采购价")
    private BigDecimal taxPrice;

    /** 是否赠品 */
    @Excel(name = "是否赠品")
    private Integer isGift;

    /** 税率（%） */
    @Excel(name = "税率", readConverterExp = "%=")
    private BigDecimal taxRate;

    /** 备注 */
    @Excel(name = "备注")
    private String description;

    /** 排序编号 */
    @Excel(name = "排序编号")
    private Long orderNo;

    /** 采购订单明细ID */
    @Excel(name = "采购订单明细ID")
    private String purchaseOrderDetailId;

    // 收货单明细
    private TblReceiveSheetDetail tblReceiveSheetDetail;

    //采购订单明细
    private TblPurchaseOrderDetail tblPurchaseOrderDetail;

    //采购类型
    private int purchaseType;

    //物料ID
    private String materialId;

    // 物料信息
    private Material material;

    public int getPurchaseType() {
        return purchaseType;
    }

    public void setPurchaseType(int purchaseType) {
        this.purchaseType = purchaseType;
    }

    public String getMaterialId() {
        return materialId;
    }

    public void setMaterialId(String materialId) {
        this.materialId = materialId;
    }

    public Material getMaterial() {
        return material;
    }

    public void setMaterial(Material material) {
        this.material = material;
    }

    public TblPurchaseOrderDetail getTblPurchaseOrderDetail() {
        return tblPurchaseOrderDetail;
    }

    public void setTblPurchaseOrderDetail(TblPurchaseOrderDetail tblPurchaseOrderDetail) {
        this.tblPurchaseOrderDetail = tblPurchaseOrderDetail;
    }

    //商品
    private ProductInfo productInfo;

    public ProductInfo getProductInfo() {
        return productInfo;
    }

    public void setProductInfo(ProductInfo productInfo) {
        this.productInfo = productInfo;
    }

    public TblReceiveSheetDetail getTblReceiveSheetDetail() {
        return tblReceiveSheetDetail;
    }

    public void setTblReceiveSheetDetail(TblReceiveSheetDetail tblReceiveSheetDetail) {
        this.tblReceiveSheetDetail = tblReceiveSheetDetail;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setReturnId(String returnId) 
    {
        this.returnId = returnId;
    }

    public String getReturnId() 
    {
        return returnId;
    }
    public void setProductId(String productId) 
    {
        this.productId = productId;
    }

    public String getProductId() 
    {
        return productId;
    }
    public void setReturnNum(Long returnNum) 
    {
        this.returnNum = returnNum;
    }

    public Long getReturnNum() 
    {
        return returnNum;
    }
    public void setTaxPrice(BigDecimal taxPrice) 
    {
        this.taxPrice = taxPrice;
    }

    public BigDecimal getTaxPrice() 
    {
        return taxPrice;
    }
    public void setIsGift(Integer isGift) 
    {
        this.isGift = isGift;
    }

    public Integer getIsGift() 
    {
        return isGift;
    }
    public void setTaxRate(BigDecimal taxRate) 
    {
        this.taxRate = taxRate;
    }

    public BigDecimal getTaxRate() 
    {
        return taxRate;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }
    public void setOrderNo(Long orderNo) 
    {
        this.orderNo = orderNo;
    }

    public Long getOrderNo() 
    {
        return orderNo;
    }

    public String getPurchaseOrderDetailId() {
        return purchaseOrderDetailId;
    }

    public void setPurchaseOrderDetailId(String purchaseOrderDetailId) {
        this.purchaseOrderDetailId = purchaseOrderDetailId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("returnId", getReturnId())
            .append("productId", getProductId())
            .append("returnNum", getReturnNum())
            .append("taxPrice", getTaxPrice())
            .append("isGift", getIsGift())
            .append("taxRate", getTaxRate())
            .append("description", getDescription())
            .append("orderNo", getOrderNo())
            .toString();
    }
}
